package com.manage.platform.exception;

/**
 * @author lk
 */
@SuppressWarnings("AlibabaEnumConstantsMustHaveComment")
public enum EmError implements CommonError {
    //    ==================================================================================================================================
    //    32000开始为角色模块操作错误代码
    //    ==================================================================================================================================
    ROLE_DELETE_ERROR(31004, "删除角色失败", "角色模块"),
    ROLE_IS_USED(31003, "角色正在使用，删除失败", "角色模块"),
    ROLE_UPDATE_ERROR(32002, "修改角色失败", "角色模块"),
    ROLE_ADD_ERROR(32001, "添加角色失败", "角色模块"),
    ROLE_IS_EXIST(32000, "角色已存在", "角色模块"),
    //    ==================================================================================================================================
    //    31000开始为字典模块操作错误代码
    //    ==================================================================================================================================
    DICT_DELETE_ERROR(31004, "删除字典失败", "字典模块"),
    DICT_IS_USED(31003, "字典正在使用，删除失败", "字典模块"),
    DICT_UPDATE_ERROR(31002, "修改字典失败", "字典模块"),
    DICT_ADD_ERROR(31001, "添加字典失败", "字典模块"),
    DICT_IS_EXIST(31000, "字典已存在", "字典模块"),
    //    ==================================================================================================================================
    //    3000开始为用户模块操作错误代码
    //    ==================================================================================================================================
    USER_UPDATE_PASSWORD_ERROR(30007, "修改用户密码失败", "用户模块"),
    USER_DELETE_ERROR(30006, "删除用户失败", "用户模块"),
    USER_DELETE_AUTH_ERROR(30005, "该用户无法删除", "用户模块"),
    USER_UPDATE_ERROR(30004, "修改用户失败", "用户模块"),
    USER_ADD_ERROR(30003, "添加用户失败", "用户模块"),
    USER_ADD_PHONE_EXISTED(30002, "手机号已被使用", "用户模块"),
    USER_ADD_IS_EXIST(30001, "账号已存在", "用户模块"),
    USER_ADD_IS_NULL(30000, "账号或用户名不能为空", "用户模块"),
    //    ==================================================================================================================================
    //    20000开始为认证服务错误代码
    //    ==================================================================================================================================
    AUTH_OLD_PASSWORD_ERROR(20007, "原密码错误", "认证服务"),
    AUTH_API_NOT_PERMISSION(20006, "您没有访问该API的权限", "认证服务"),
    AUTH_TOKEN_INVALID(20005, "令牌验证失败", "认证服务"),
    AUTH_TOKEN_EXPIRED(20004, "令牌已过期，请重新登录", "认证服务"),
    AUTH_USER_IS_BLOCK_LOGIN(20003, "您已被禁止登录", "认证服务"),
    AUTH_CODE_ERROR(20002, "登录验证码错误", "认证服务"),
    AUTH_PASSWORD_ERROR(20001, "账号或密码错误", "认证服务"),
    AUTH_USER_IS_NULL(20000, "用户未注册", "认证服务"),
    //    ==================================================================================================================================
    //    10000开始为系统内部错误代码
    //    ==================================================================================================================================
    UNKNOWN_ERROR(10001, "未知异常", "未知服务");

    /**
     * 错误码
     */
    private int errCode;
    /**
     * 错误信息
     */
    private String errMsg;
    /**
     * 服务名
     */
    private String serviceName;

    EmError(int errCode, String errMsg, String serviceName) {
        this.errCode = errCode;
        this.errMsg = errMsg;
        this.serviceName = serviceName;
    }

    @Override
    public int getErrCode() {
        return this.errCode;
    }

    @Override
    public String getErrMsg() {
        return this.errMsg;
    }

    @Override
    public String getServiceName() {
        return this.serviceName;
    }

    @Override
    public CommonError setErrMsg(String errMsg) {
        this.errMsg = errMsg;
        return this;
    }


}
